package com.zhuqi.redis.list;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;

/**
 * @author : ZhuQi
 * @version : 时间:2022/1/10 9:33 版本:
 * 测试 redis 中的list集合的一些指令
 */
@Component
@Slf4j
public class ListRedisService {

    @Autowired
    private StringRedisTemplate redisTemplate;

    /**
     * 测试内容: 测试java中使用redis的list集合
     */
    public void test1() throws Exception {
        ListOperations<String, String> listOperations = redisTemplate.opsForList();

        // 从左侧推入数据
//        listOperations.leftPush("list" ,"0");
//        listOperations.leftPush("list",  "1");
//        listOperations.leftPush("list",  "2");


        // 从索引下标取出数据
        Object list = listOperations.index("list", 0);
        log.info( "从索引下标取出数据:{}", list);

        // 从左侧弹出一个数据
        String data = listOperations.leftPop("list");
        log.info( "从list左侧取出数据{}", data);

        // 测试从右边取出数据
        Object data2 = listOperations.rightPop("list");
        log.info( "从右边取出的数据为:{}", data2);
    }
}
